﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://PWTWcf" elementFormDefault="qualified" targetNamespace="http://PWTWcf" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.datacontract.org/2004/07/PowerTriggersWcf" />
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:element name="GetData">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetDataResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/PowerTriggersWcf" minOccurs="0" name="GetDataResult" nillable="true" type="q1:ConfigData" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:simpleType name="TaskTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Service" />
      <xs:enumeration value="Device" />
      <xs:enumeration value="StartProcess" />
      <xs:enumeration value="StopProcess" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="TaskTypes" nillable="true" type="tns:TaskTypes" />
  <xs:complexType name="ArrayOfTaskProperty">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TaskProperty" nillable="true" type="tns:TaskProperty" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTaskProperty" nillable="true" type="tns:ArrayOfTaskProperty" />
  <xs:complexType name="TaskProperty">
    <xs:sequence>
      <xs:element minOccurs="0" name="Choices" nillable="true" type="tns:ArrayOfTaskPropertyChoice" />
      <xs:element minOccurs="0" name="Name" type="tns:TaskPropertyNames" />
      <xs:element minOccurs="0" name="SelectedChoice" type="tns:TaskPropertyChoiceTypes" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TaskProperty" nillable="true" type="tns:TaskProperty" />
  <xs:complexType name="ArrayOfTaskPropertyChoice">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TaskPropertyChoice" nillable="true" type="tns:TaskPropertyChoice" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTaskPropertyChoice" nillable="true" type="tns:ArrayOfTaskPropertyChoice" />
  <xs:complexType name="TaskPropertyChoice">
    <xs:sequence>
      <xs:element minOccurs="0" name="AdditionalData" nillable="true" type="xs:anyType" />
      <xs:element minOccurs="0" name="AdditionalDataType" type="tns:TaskPropertyAdditionalDataTypes" />
      <xs:element minOccurs="0" name="ChoiceType" type="tns:TaskPropertyChoiceTypes" />
      <xs:element minOccurs="0" name="DisplayText" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TaskPropertyChoice" nillable="true" type="tns:TaskPropertyChoice" />
  <xs:simpleType name="TaskPropertyAdditionalDataTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="None" />
      <xs:enumeration value="Username" />
      <xs:enumeration value="Milliseconds" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="TaskPropertyAdditionalDataTypes" nillable="true" type="tns:TaskPropertyAdditionalDataTypes" />
  <xs:simpleType name="TaskPropertyChoiceTypes">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Any" />
      <xs:enumeration value="ServiceAccount" />
      <xs:enumeration value="AllLoggedOnUsernames" />
      <xs:enumeration value="SpecifiedLoggedOnUsername" />
      <xs:enumeration value="SpecifiedUsername" />
      <xs:enumeration value="Yes" />
      <xs:enumeration value="No" />
      <xs:enumeration value="Restart" />
      <xs:enumeration value="Start" />
      <xs:enumeration value="Stop" />
      <xs:enumeration value="ReEnable" />
      <xs:enumeration value="Enable" />
      <xs:enumeration value="Disable" />
      <xs:enumeration value="WaitForIdle" />
      <xs:enumeration value="NoWait" />
      <xs:enumeration value="WaitForExit" />
      <xs:enumeration value="Pause" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="TaskPropertyChoiceTypes" nillable="true" type="tns:TaskPropertyChoiceTypes" />
  <xs:simpleType name="TaskPropertyNames">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Action" />
      <xs:enumeration value="AppliesTo" />
      <xs:enumeration value="SupportsOther" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="TaskPropertyNames" nillable="true" type="tns:TaskPropertyNames" />
  <xs:complexType name="ArrayOfTask">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Task" nillable="true" type="tns:Task" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTask" nillable="true" type="tns:ArrayOfTask" />
  <xs:complexType name="Task">
    <xs:sequence>
      <xs:element minOccurs="0" name="Category" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Properties" nillable="true" type="tns:ArrayOfTaskProperty" />
      <xs:element minOccurs="0" name="Sequence" type="xs:int" />
      <xs:element minOccurs="0" name="Status" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="TaskType" type="tns:TaskTypes" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Task" nillable="true" type="tns:Task" />
  <xs:complexType name="TaskStopProcess">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Task">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="TaskStopProcess" nillable="true" type="tns:TaskStopProcess" />
  <xs:complexType name="TaskService">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Task">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="TaskService" nillable="true" type="tns:TaskService" />
  <xs:complexType name="TaskDevice">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Task">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="TaskDevice" nillable="true" type="tns:TaskDevice" />
  <xs:complexType name="TaskStartProcess">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Task">
        <xs:sequence />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="TaskStartProcess" nillable="true" type="tns:TaskStartProcess" />
  <xs:element name="PutData">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/PowerTriggersWcf" minOccurs="0" name="composite" nillable="true" type="q2:ConfigData" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="PutDataResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="PutDataResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RunTest">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="testType" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="tasks" nillable="true" type="tns:ArrayOfTask" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllAvailableTasks">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="taskType" type="tns:TaskTypes" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllAvailableTasksResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetAllAvailableTasksResult" nillable="true" type="tns:ArrayOfTask" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateTask">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="taskType" type="tns:TaskTypes" />
        <xs:element minOccurs="0" name="description" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="ID" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="status" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="category" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateTaskResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="CreateTaskResult" nillable="true" type="tns:Task" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AuthenticateUser">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="username" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="password" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AuthenticateUserResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="AuthenticateUserResult" type="xs:boolean" />
        <xs:element minOccurs="0" name="username" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="errorMsg" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SubscribeHistoryChangedEvent">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="SubscribeHistoryChangedEventResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="UnsubscribeHistoryChangedEvent">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="UnsubscribeHistoryChangedEventResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="RequestHistoryCallback">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="HistoryChanged">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/PowerTriggersWcf" minOccurs="0" name="history" nillable="true" type="q3:HistoryData" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:simpleType name="HistorySeverityLevels">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Informational">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">1</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Success">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">2</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Warning">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">3</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Error">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">4</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="HistorySeverityLevels" nillable="true" type="tns:HistorySeverityLevels" />
</xs:schema>